Data stored in the memory of a semiconductor device can become corrupted by the effects of cosmic radiation and atomic particles generated from radioactive decay. Cosmic radiation may collide with atoms in the Earth's atmosphere or atoms in the packaging of the semiconductor device. These collisions may create a chain of secondary particles. Similarly, atomic particles, such as alpha particles, from radioactive decay may collide with atoms in the packaging of the semiconductor device and create a chain of secondary particles. These chains of secondary particles may include charged particles, such as electrons, that are injected into the semiconductor device.
The cumulative charge from a chain of secondary particles may change the voltage at a node of the semiconductor device. Often the change is transient, without any permanent effect on the semiconductor device or the intended operation of the semiconductor device. However, certain circuits, such as static random access memory (SRAM), are susceptible to corruption of the data stored in the SRAM. Typically, the atomic radiation does not permanently damage the semiconductor device.
Programmable logic devices (PLDs) are a well-known type of integrated circuit that can be programmed to perform specified logic functions. One type of PLD, the field programmable gate array (FPGA), typically includes an array of programmable tiles. These programmable tiles can include, for example, input/output blocks (IOBs), configurable logic blocks (CLBs), dedicated random access memory blocks (BRAM), multipliers, digital signal processing blocks (DSPs), processors, clock managers, delay lock loops (DLLs), and so forth.
Each programmable tile typically includes both programmable interconnect and programmable logic. The programmable interconnect typically includes a large number of interconnect lines of varying lengths interconnected by programmable interconnect points (PIPs). The programmable logic implements the logic of a user design using programmable elements that can include, for example, function generators, registers, arithmetic logic, and so forth.
The programmable interconnect and programmable logic are typically programmed by loading a stream of configuration data into internal configuration memory cells that define how the programmable elements are configured. The configuration data can be read from an external PROM or written into the FPGA by an external device. The collective states of the individual memory cells then determine the function of the FPGA.
If atomic radiation corrupts one of these memory cells, the atomic radiation may alter the function of the FPGA. Thus, the FPGA may operate improperly until the FPGA is reset to reload the configuration data into the FPGA.
The present invention may address one or more of the above issues.